Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

207
Visualizações
¿Cómo usar "async" o "await" dentro del bucle for en mi código?

Estoy tratando de desarrollar una herramienta para desechar y publicar datos desde / hacia sitios web usando "titiritero", escribí dos módulos, uno para leer las URL del archivo JSON y tiene el bucle for que incluye la función del otro módulo que visita el sitio web y desechar los datos.

Cuando construí las funciones y ejecuté el código, por primera vez mi PC se bloqueó y no pude identificar el problema, hasta que encontré una publicación que explicaba sobre "async" y "await" en NodeJS, traté de entender cómo aplicarlo a mi código, pero no pude.

Así que estoy tratando exactamente de pasar por el bucle para visitar el sitio web, luego desecho los datos, después de terminar desde el primer elemento, debería ir al siguiente elemento del bucle en lugar de ejecutar todos los elementos a la vez, lo que hace que la PC colgar.

getUrlsAndVisitWebsite.js

 const puppeteer = require('puppeteer') const fs = require('fs'); var visitWebsite= require('/home/projtect1/visitWebsite.js'); async function getUrlsAndVisitWebsite(){ fs.readFile("/home/project1/urls.json", "utf8", (err, jsonString) => { if (err) { console.log("File read failed:", err); return; } var jsonOBj= JSON.parse(jsonString); for (let i = 0; i < 2; i++) { var postPath = JSON.parse(jsonOBj[i]).url; // here I'm using puppeteer to visit websites and scrab data visitWebsite(postPath) } }); } getUrlsAndVisitWebsite()

visitWebsite.js

 const puppeteer = require('puppeteer') var fs = require('fs'); async function visitWebsite(postPath){ const browser = await puppeteer.launch({ headless: false, waitUntil: 'networkidle2' }) const page = await browser.newPage() await page.setViewport({ width: 0, height: 0}); //Loading Cookie from file const cookiesString = await fs.readFileSync('./cookies.json'); const Writecookies = JSON.parse(cookiesString); await page.setCookie(...Writecookies); // GO to the target URL for post console.log(postPath) await page.goto(postPath) //Wait for the selector that list the elements await page.waitForSelector('#gridPostListing'); } module.exports=visitWebsite;
about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Su función visitWebsite es asíncrona, debe esperarla en getUrlsAndVisitWebsite. Tal como está ahora, solo devuelve una promesa, por lo tanto, se cuelga.

Simplemente agregue esperar antes de su llamada visitWebsite.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda